/*
 * AlgoritmoGradoFijo.h
 *
 *  Created on: 10/09/2010
 *      Author: jonathan
 */

#ifndef ALGORITMOGRADOFIJO_H_
#define ALGORITMOGRADOFIJO_H_

#include <string>
#include <vector>
#include <queue>
#include <iostream>
#include "Pelicula.h"
#include "Persona.h"
#include "Conjunto.h"

using namespace std;

class AlgoritmoGradoFijo{

public:

	AlgoritmoGradoFijo(string nombreOrigen, int grado);
	void ejecutar();

private:

	queue<Persona *> colaPersonas;
	Conjunto idPersonasProcesadas;
	Conjunto idPeliculasProcesadas;

	string nombreOrigen;
	int grado;
	int cantResultados;

	void procesar( Persona * unaPersona);
	void emitir( Persona * unaPersona);

	/*******************************************************/
	string buscarID( string unNombre );
	// FALTA IMPLEMENTAR. Accede al archivo de personas, realiza una búsqueda binaria
	//y devuelve el ID de una persona a partir de su nombre. Si no existe, devuelve el ID inválido "-1".
	/********************************************************/
};


#endif /* ALGORITMOGRADOFIJO_H_ */
